<html><head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<title>:: CodeThatXPBar - navigation control that provides with the same look, feel and functionality as the special control bar which can be found in Windows Explorer, Control panel and other system tools of the WindowsXP ::</title>
<meta http-equiv="content-language" content=en>
<meta name=robots content="INDEX, FOLLOW">
<meta http-equiv=keywords content="CodeThatXPBar, script, bar, XP bar, javascript, javascript XP bar, free, free javascript XP bar, cross-browser, html, xml, css, control panel, Windows XP, explorer">
<meta http-equiv=description content="CodeThatXPBar is a navigation control that provides with the same look, feel and functionality as the special control bar which can be found in Windows Explorer, Control panel and other system tools of the WindowsXP">
<meta http-equiv=expires content="Mon, 01 Jan 1990 00:00:00 GMT">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv=pragma content="no-cache">
<meta name="revisit-after" content="1 day">
<meta http-equiv="content-script-type" content="text/javascript">
<link rel=stylesheet type="text/css" href="s.css">

<script language=javascript src="own.js"></script></head>
<body leftmargin=0 topmargin=0 marginwidth=0 marginheight=0 bgcolor=#FFFFFF>
<table width=768 border=0 cellpadding=0 cellspacing=0>
<tr>
<td><div style="position:absolute;left:320;top:154;z-index:1"><img src="img/mm.gif" width=2 height=10></div><img src="img/s.gif" width=1 height=2></td>
</tr><tr>
<td class=ct13><table width=768 height=42 border=0 cellpadding=0 cellspacing=0>
	<tr>
	<td><img src="img/s.gif" width=20 height=1></td>
	<td valign=middle><p class=cp18><nobr><font class=ca8>User Manual <br><a href="../index.html" class="ca9"><font class="cf6">S</font>amples</a></font></nobr></p></td>
	<td width=13%><img src="img/s.gif" width=1 height=1></td>
	<td valign=middle><p class=cp18><nobr><a class=ca9 href="index.html"><font class=cf6>In</font>troduction</a>&nbsp; &nbsp;
	<a class=ca9 href="bar_style.html"><font class=cf6>S</font>tyle customize</a>&nbsp; &nbsp;
	<a class=ca9 href="bar_pos.html"><font class=cf6>B</font>ar position</a>&nbsp; &nbsp;
	<a class=ca9 href="bar_act.html"><font class=cf6>It</font>ems' actions</a></nobr></p>
	<p class=cp18><nobr><a class=ca9 href="bar_html.html"><font class=cf6>H</font>TML code as items' text</a>&nbsp; &nbsp;
	
	<a class=ca9 href="bar_db.html"><font class=cf6>X</font>PBar from the database</a></nobr></p>
	
	<p class=cp18><nobr><a class=ca9 href="bar_beh.html"><font class=cf6>C</font>hange XPBar Behaviour</a>&nbsp; &nbsp;
	<a class=ca9 href="standard_vs_pro.html?h=xpbar#xpbar"><font class=cf6>S</font>tandard vs PRO</a></nobr></p></td>
	<td width=23%><img src="img/s.gif" width=1 height=1></td>
	<td valign=middle><p class=cp18><nobr><font class=ca8>On-line Builder</font></nobr></p></td>
	<td width=13%><img src="img/s.gif" width=1 height=1></td>
	<td valign=middle>
	
	<p class=cp18><a class=ca9 href="http://codethat.com/xpbar/ctxpbarpro_builder.html">PRO</a></p>

	
	<p class=cp18><a class=ca9 href="../Builder/ctxpbarstd_builder.html">STD</a></p>
	
	</td>
	<td width=23%><img src="img/s.gif" width=1 height=1></td>
	<td valign=middle><p class=cp18><nobr><a class=ca8 href="userguide.html"><font class=cf7>1</font>23Guide</a>&nbsp; &nbsp;

	
	<p class=cp18><nobr><a class=ca8 href="http://codethat.com/sales.html"><font class=cf7>O</font>rder PRO Now</a>&nbsp; &nbsp;

	
	<a class=ca8 href="faq.html"><font class=cf7>F</font>AQ</a></nobr></p></td>
	<td width=28%><img src="img/s.gif" width=1 height=1></td>
	</tr>
</table></td>
</tr><tr>
<td><img src="img/s.gif" width=1 height=2></td>
</tr>
<tr>
<td class=ct12><table width=768 height=30 border=0 cellpadding=0 cellspacing=0>
	<tr><td valign=middle><h1 class=cp9>CODETHATXPBAR USER MANUAL</h1></td></tr>
</table></td>
</tr><tr>
<td>

<h1 class=cp10><font class=cf5>XPBar Generation from the Database</font></h1>
<p class=cp10>In addition to wide range of useful features CodeThatXPBar allows you to generate bar script from the database.</p>
<p class=cp10>At the example below we use MySQL as database platform and PHP as web-script language. But you can choose your own favorite database platform and web-script language. Here we just try to show basic principles for database XPBar generation.</p>
<p class=cp10><b>First of all</b> we create three tables - script_items, script_styles and scripts. Tables structure and data are listed below:</p>

<pre class=cc1>
<font class=cc3>CREATE TABLE scripts
<font class=cc2>(</font>
	id INT AUTO_INCREMENT NOT <font class=cc4>NULL</font><font class=cc2>,</font>
	scriptname VARCHAR<font class=cc2>(</font><font class=cc4>255</font><font class=cc2>),</font>
	PRIMARY KEY <font class=cc2>(</font>id<font class=cc2>)</font>
<font class=cc2>);</font>

CREATE TABLE script_items
	<font class=cc2>(</font>
	item_id INT AUTO_INCREMENT NOT <font class=cc4>NULL</font><font class=cc2>,</font>
	script_id INTEGER NOT <font class=cc4>NULL</font><font class=cc2>,</font>
	item_name VARCHAR<font class=cc2>(</font><font class=cc4>255</font><font class=cc2>),</font>
	style_id INTEGER DEFAULT <font class=cc4>0</font><font class=cc2>,</font>
	style_over_id INTEGER DEFAULT <font class=cc4>0</font><font class=cc2>,</font>
	item_parent_id INTEGER DEFAULT <font class=cc4>0</font><font class=cc2>,</font>
	PRIMARY KEY <font class=cc2>(</font>item_id<font class=cc2>)</font>
<font class=cc2>);</font>

CREATE TABLE script_styles
<font class=cc2>(</font>
	style_id INT AUTO_INCREMENT NOT <font class=cc4>NULL</font><font class=cc2>,</font>
	css VARCHAR<font class=cc2>(</font><font class=cc4>255</font><font class=cc2>),</font>
	size VARCHAR<font class=cc2>(</font><font class=cc4>20</font><font class=cc2>),</font>
	bgcolor VARCHAR<font class=cc2>(</font><font class=cc4>7</font><font class=cc2>),</font>
	color VARCHAR<font class=cc2>(</font><font class=cc4>7</font><font class=cc2>),</font>
	bgimg VARCHAR<font class=cc2>(</font><font class=cc4>255</font><font class=cc2>),</font>
	shadow VARCHAR<font class=cc2>(</font><font class=cc4>255</font><font class=cc2>),</font>
	border VARCHAR<font class=cc2>(</font><font class=cc4>255</font><font class=cc2>),</font>
	imgitem VARCHAR<font class=cc2>(</font><font class=cc4>255</font><font class=cc2>),</font>
	imgdir VARCHAR<font class=cc2>(</font><font class=cc4>255</font><font class=cc2>),</font>
	imgendon VARCHAR<font class=cc2>(</font><font class=cc4>255</font><font class=cc2>),</font>
	imgendoff VARCHAR<font class=cc2>(</font><font class=cc4>255</font><font class=cc2>),</font>
	fixheight INT<font class=cc2>,</font>
	fixwidth INT<font class=cc2>,</font>
	imgdiropen VARCHAR<font class=cc2>(</font><font class=cc4>255</font><font class=cc2>),</font>
	itemoffset VARCHAR<font class=cc2>(</font><font class=cc4>255</font><font class=cc2>),</font>
	PRIMARY KEY <font class=cc2>(</font>style_id<font class=cc2>)</font>
<font class=cc2>);</font>

insert into scripts values<font class=cc2>(</font><font class=cc4>1</font><font class=cc2>,</font> <font class=cc6>'CodeThatMenu Standard'</font><font class=cc2>);</font>
insert into scripts values<font class=cc2>(</font><font class=cc4>2</font><font class=cc2>,</font> <font class=cc6>'CodeThatTree Standard'</font><font class=cc2>);</font>
insert into scripts values<font class=cc2>(</font><font class=cc4>3</font><font class=cc2>,</font> <font class=cc6>'CodeThatCalendar Standard'</font><font class=cc2>,</font> <font class=cc2>);</font>
insert into scripts values<font class=cc2>(</font><font class=cc4>4</font><font class=cc2>,</font> <font class=cc6>'CodeThatXPBar Standard'</font><font class=cc2>);</font>
insert into script_items values<font class=cc2>(</font><font class=cc4>8</font><font class=cc2>,</font> <font class=cc4>4</font><font class=cc2>,</font> <font class=cc6>'Item 1'</font><font class=cc2>,</font> <font class=cc4>3</font><font class=cc2>,</font> <font class=cc4>4</font><font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>);</font>
insert into script_items values<font class=cc2>(</font><font class=cc4>9</font><font class=cc2>,</font> <font class=cc4>4</font><font class=cc2>,</font> <font class=cc6>'Item 2'</font><font class=cc2>,</font> <font class=cc4>3</font><font class=cc2>,</font> <font class=cc4>4</font><font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>);</font>
insert into script_items values<font class=cc2>(</font><font class=cc4>10</font><font class=cc2>,</font> <font class=cc4>4</font><font class=cc2>,</font> <font class=cc6>'Item 3'</font><font class=cc2>,</font> <font class=cc4>3</font><font class=cc2>,</font> <font class=cc4>4</font><font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>);</font>
insert into script_items values<font class=cc2>(</font><font class=cc4>11</font><font class=cc2>,</font> <font class=cc4>4</font><font class=cc2>,</font> <font class=cc6>'Item 1:1'</font><font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font> <font class=cc4>8</font><font class=cc2>);</font>
insert into script_items values<font class=cc2>(</font><font class=cc4>12</font><font class=cc2>,</font> <font class=cc4>4</font><font class=cc2>,</font> <font class=cc6>'Item 1:2'</font><font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font> <font class=cc4>8</font><font class=cc2>);</font>
insert into script_items values<font class=cc2>(</font><font class=cc4>13</font><font class=cc2>,</font> <font class=cc4>4</font><font class=cc2>,</font> <font class=cc6>'Item 2:1'</font><font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font> <font class=cc4>9</font><font class=cc2>);</font>
insert into script_items values<font class=cc2>(</font><font class=cc4>14</font><font class=cc2>,</font> <font class=cc4>4</font><font class=cc2>,</font> <font class=cc6>'Item 2:2'</font><font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font> <font class=cc4>9</font><font class=cc2>);</font>
insert into script_items values<font class=cc2>(</font><font class=cc4>15</font><font class=cc2>,</font> <font class=cc4>4</font><font class=cc2>,</font> <font class=cc6>'Item 3:1'</font><font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font> <font class=cc4>10</font><font class=cc2>);</font>
insert into script_items values<font class=cc2>(</font><font class=cc4>16</font><font class=cc2>,</font> <font class=cc4>4</font><font class=cc2>,</font> <font class=cc6>'Item 3:2'</font><font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font> <font class=cc4>10</font><font class=cc2>);</font>
insert into script_styles values<font class=cc2>(</font><font class=cc4>3</font><font class=cc2>,</font> <font class=cc6>'bartitle'</font><font class=cc2>,</font> <font class=cc6>'[110,25]'</font><font class=cc2>,</font> <font class=cc6>'#6C86DC'</font><font class=cc2>,</font> <font class=cc6>'#ffffff'</font><font class=cc2>,</font>
	<font class=cc6>'"img/title_bg.gif"'</font><font class=cc2>,</font> <font class=cc6>'{"color":"#C0C0C0","width":1}'</font><font class=cc2>,</font>
	<font class=cc6>'{"color":"#000000","width":1}'</font><font class=cc2>,</font> <font class=cc6>''</font><font class=cc2>,</font> <font class=cc6>''</font><font class=cc2>,</font>
	<font class=cc6>'{ "src":"img/arr_down.gif", "width":24, "height":24}'</font><font class=cc2>,</font>
	<font class=cc6>'{ "src":"img/arr_up.gif", "width":24, "height":24}'</font><font class=cc2>,</font>
	<font class=cc4>300</font><font class=cc2>,</font> <font class=cc4>110</font><font class=cc2>,</font> <font class=cc6>""</font><font class=cc2>,</font> <font class=cc6>""</font><font class=cc2>);</font>
insert into script_styles values<font class=cc2>(</font><font class=cc4>4</font><font class=cc2>,</font> <font class=cc6>'bartitleover'</font><font class=cc2>,</font> <font class=cc6>''</font><font class=cc2>,</font> <font class=cc6>''</font><font class=cc2>,</font> <font class=cc6>'yellow'</font><font class=cc2>,</font> <font class=cc6>'"img/title_bg.gif"'</font><font class=cc2>,</font>
	<font class=cc6>''</font><font class=cc2>,</font> <font class=cc6>''</font><font class=cc2>,</font> <font class=cc6>''</font><font class=cc2>,</font> <font class=cc6>''</font><font class=cc2>,</font>
	<font class=cc6>'{ "src":"img/arr_down_over.gif", "width":24, "height":24}'</font><font class=cc2>,</font>
	<font class=cc6>'{ "src":"img/arr_up_over.gif", "width":24, "height":24}'</font><font class=cc2>,</font>
	<font class=cc4>0</font><font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font> <font class=cc6>""</font><font class=cc2>,</font> <font class=cc6>""</font><font class=cc2>);</font>
insert into script_styles values<font class=cc2>(</font><font class=cc4>7</font><font class=cc2>,</font> <font class=cc6>'bartitleover'</font><font class=cc2>,</font> <font class=cc6>''</font><font class=cc2>,</font> <font class=cc6>'#265BCC'</font><font class=cc2>,</font> <font class=cc6>'#ffffff'</font><font class=cc2>,</font> <font class=cc6>''</font><font class=cc2>,</font> <font class=cc6>''</font><font class=cc2>,</font> <font class=cc6>''</font><font class=cc2>,</font> <font class=cc6>''</font><font class=cc2>,</font> <font class=cc6>''</font><font class=cc2>,</font>
	<font class=cc6>''</font><font class=cc2>,</font> <font class=cc6>''</font><font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font> <font class=cc6>""</font><font class=cc2>,</font> <font class=cc6>""</font><font class=cc2>);</font>
insert into script_styles values<font class=cc2>(</font><font class=cc4>8</font><font class=cc2>,</font> <font class=cc6>''</font><font class=cc2>,</font> <font class=cc6>'[110,25]'</font><font class=cc2>,</font> <font class=cc6>'#D6DFF7'</font><font class=cc2>,</font> <font class=cc6>''</font><font class=cc2>,</font> <font class=cc6>'""'</font><font class=cc2>,</font> <font class=cc6>'""'</font><font class=cc2>,</font>
	<font class=cc6>'{"color":"#ffffff","width":1}'</font><font class=cc2>,</font> <font class=cc6>''</font><font class=cc2>,</font> <font class=cc6>''</font><font class=cc2>,</font> <font class=cc6>'""'</font><font class=cc2>,</font>
	<font class=cc6>'""'</font><font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font> <font class=cc6>""</font><font class=cc2>,</font> <font class=cc6>'{ "x":5, "y":1 }'</font><font class=cc2>);</font>
insert into script_styles values<font class=cc2>(</font><font class=cc4>9</font><font class=cc2>,</font> <font class=cc6>''</font><font class=cc2>,</font> <font class=cc6>''</font><font class=cc2>,</font> <font class=cc6>''</font><font class=cc2>,</font> <font class=cc6>''</font><font class=cc2>,</font> <font class=cc6>'""'</font><font class=cc2>,</font> <font class=cc6>'""'</font><font class=cc2>,</font> <font class=cc6>'""'</font><font class=cc2>,</font> <font class=cc6>''</font><font class=cc2>,</font> <font class=cc6>''</font><font class=cc2>,</font> <font class=cc6>'""'</font><font class=cc2>,</font> <font class=cc6>'""'</font><font class=cc2>,</font>
	<font class=cc4>0</font><font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font> <font class=cc6>""</font><font class=cc2>,</font> <font class=cc6>''</font><font class=cc2>);</font></font>
</pre>

<p class=cp10>Of course, when you create your real CodeThatXPBar script, tables will contain more information.</p>
<p class=cp10><b>Next step</b> - we create .php script. Result of this script implementation is a string variable that contains full menu definition:</p>

<pre class=cc1>
<font class=cc3>$StrQuery1 <font class=cc2>=</font></font> <font class=cc6>"select distinct bgimg " <font class=cc2>.</font>
	" from script_styles, script_items where " <font class=cc2>.</font>
	" script_styles.style_id = script_items.style_id " <font class=cc2>.</font>
	" and script_items.item_parent_id=0 and script_id=4"</font><font class=cc3><font class=cc2>;</font>
$result1 <font class=cc2>=</font> db_query<font class=cc2>(</font>$StrQuery1<font class=cc2>);</font>
$res_num1 <font class=cc2>=</font> db_numrows<font class=cc2>(</font>$result1<font class=cc2>);</font>
$Error <font class=cc2>=</font> mysql_error<font class=cc2>(</font>$db<font class=cc2>);</font>
<font class=cc5>if</font> <font class=cc2>(</font>$Error <font class=cc2>!=</font></font> <font class=cc6>""</font><font class=cc2>)</font>
<font class=cc7>{</font>
	echo <font class=cc6>"$Error"</font><font class=cc3><font class=cc2>;</font>
	exit<font class=cc2>();</font>
<font class=cc7>}</font>
<font class=cc5>if</font> <font class=cc2>(</font>$res_num1 <font class=cc2>!=</font> <font class=cc4>0</font><font class=cc2>)</font>
<font class=cc7>{</font>
	$style_item <font class=cc2>=</font></font> <font class=cc6>'"style":{"bgimg":'</font> <font class=cc3><font class=cc2>.</font> db_result<font class=cc2>(</font>$result1<font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font></font> <font class=cc6>'bgimg'</font><font class=cc2>)</font> <font class=cc2>.</font> <font class=cc6>'} '</font><font class=cc3><font class=cc2>;</font>
<font class=cc7>}</font>
$StrQuery1 <font class=cc2>=</font></font> <font class=cc6>"select distinct bgimg, size, bgcolor, shadow, border, itemoffset "</font> <font class=cc2>.</font>
	<font class=cc6>" from script_styles where script_styles.style_id = 8"</font><font class=cc3><font class=cc2>;</font>
$result1 <font class=cc2>=</font> db_query<font class=cc2>(</font>$StrQuery1<font class=cc2>);</font>
$res_num1 <font class=cc2>=</font> db_numrows<font class=cc2>(</font>$result1<font class=cc2>);</font>
$Error <font class=cc2>=</font> mysql_error<font class=cc2>(</font>$db<font class=cc2>);</font>
<font class=cc5>if</font> <font class=cc2>(</font>$Error <font class=cc2>!=</font></font> <font class=cc6>""</font><font class=cc2>)</font>
<font class=cc7>{</font>
	echo <font class=cc6>"$Error"</font><font class=cc3><font class=cc2>;</font>
	exit<font class=cc2>();</font>
<font class=cc7>}</font>
<font class=cc5>if</font> <font class=cc2>(</font>$res_num1 <font class=cc2>!=</font> <font class=cc4>0</font><font class=cc2>)</font>
<font class=cc7>{</font>
	$menu_style <font class=cc2>=</font></font> <font class=cc6>'"style":{"bgimg":'</font> <font class=cc3><font class=cc2>.</font> db_result<font class=cc2>(</font>$result1<font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font></font> <font class=cc6>'bgimg'</font><font class=cc2>)</font> <font class=cc2>.</font>
		<font class=cc6>',"size":'</font> <font class=cc3><font class=cc2>.</font> db_result<font class=cc2>(</font>$result1<font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font></font> <font class=cc6>"size"</font><font class=cc2>)</font> <font class=cc2>.</font> <font class=cc6>', '</font> <font class=cc2>.</font>
		<font class=cc6>'"bgcolor":"'</font> <font class=cc3><font class=cc2>.</font> db_result<font class=cc2>(</font>$result1<font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font></font> <font class=cc6>"bgcolor"</font><font class=cc2>)</font> <font class=cc2>.</font> <font class=cc6>'", '</font> <font class=cc2>.</font>
		<font class=cc6>'"shadow":'</font> <font class=cc3><font class=cc2>.</font> db_result<font class=cc2>(</font>$result1<font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font></font> <font class=cc6>"shadow"</font><font class=cc2>)</font> <font class=cc2>.</font> <font class=cc6>', '</font> <font class=cc2>.</font>
		<font class=cc6>'"border":'</font> <font class=cc3><font class=cc2>.</font> db_result<font class=cc2>(</font>$result1<font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font></font> <font class=cc6>"border"</font><font class=cc2>)</font> <font class=cc2>.</font> <font class=cc6>', '</font> <font class=cc2>.</font>
		<font class=cc6>'"itemoffset":'</font> <font class=cc3><font class=cc2>.</font> db_result<font class=cc2>(</font>$result1<font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font></font> <font class=cc6>"itemoffset"</font><font class=cc2>)</font> <font class=cc2>.</font> <font class=cc6>'}'</font><font class=cc3><font class=cc2>;</font>
<font class=cc7>}</font>
$StrQuery1 <font class=cc2>=</font></font> <font class=cc6>"select distinct bgimg, imgendon, imgendoff "</font> <font class=cc2>.</font>
	<font class=cc6>" from script_styles where script_styles.style_id = 9"</font><font class=cc3><font class=cc2>;</font>
$result1 <font class=cc2>=</font> db_query<font class=cc2>(</font>$StrQuery1<font class=cc2>);</font>
$res_num1 <font class=cc2>=</font> db_numrows<font class=cc2>(</font>$result1<font class=cc2>);</font>
$Error <font class=cc2>=</font> mysql_error<font class=cc2>(</font>$db<font class=cc2>);</font>
<font class=cc5>if</font> <font class=cc2>(</font>$Error <font class=cc2>!=</font></font> <font class=cc6>""</font><font class=cc2>)</font>
<font class=cc7>{</font>
	echo <font class=cc6>"$Error"</font><font class=cc3><font class=cc2>;</font>
	exit<font class=cc2>();</font>
<font class=cc7>}</font>
<font class=cc5>if</font> <font class=cc2>(</font>$res_num1 <font class=cc2>!=</font> <font class=cc4>0</font><font class=cc2>)</font>
<font class=cc7>{</font>
	$menu_style <font class=cc2>=</font> $menu_style <font class=cc2>.</font></font> <font class=cc6>', "itemover":{"bgimg":'</font> <font class=cc3><font class=cc2>.</font>
		db_result<font class=cc2>(</font>$result1<font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font></font> <font class=cc6>'bgimg'</font><font class=cc2>)</font> <font class=cc2>.</font>
		<font class=cc6>',"imgendon":'</font> <font class=cc3><font class=cc2>.</font> db_result<font class=cc2>(</font>$result1<font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font></font> <font class=cc6>"imgendon"</font><font class=cc2>)</font> <font class=cc2>.</font> <font class=cc6>', '</font> <font class=cc2>.</font>
		<font class=cc6>'"imgendoff":'</font> <font class=cc3><font class=cc2>.</font> db_result<font class=cc2>(</font>$result1<font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font></font> <font class=cc6>"imgendoff"</font><font class=cc2>)</font> <font class=cc2>.</font> <font class=cc6>'}'</font><font class=cc3><font class=cc2>;</font>
<font class=cc7>}</font>

<font class=cc5>function</font> create_level<font class=cc2>(</font>$parent_id<font class=cc2>)</font>
<font class=cc7>{</font>
	global $style_item<font class=cc2>,</font> $menu_style<font class=cc2>;</font>
	$items <font class=cc2>=</font></font> <font class=cc6>''</font><font class=cc3><font class=cc2>;</font>
	$StrQuery <font class=cc2>=</font></font> <font class=cc6>"select item_id, item_name from script_items " <font class=cc2>.</font>
		" where script_id=4 and item_parent_id="</font> <font class=cc3><font class=cc2>.</font> $parent_id<font class=cc2>;</font>
	$result <font class=cc2>=</font> mysql_query<font class=cc2>(</font>$StrQuery<font class=cc2>);</font>
	$Error <font class=cc2>=</font> @mysql_error<font class=cc2>(</font>$db<font class=cc2>);</font>
	<font class=cc5>if</font> <font class=cc2>(</font>$Error <font class=cc2>!=</font></font> <font class=cc6>""</font><font class=cc2>)</font>
	<font class=cc7>{</font>
		echo <font class=cc6>"$Error"</font><font class=cc3><font class=cc2>;</font>
		exit<font class=cc2>();</font>
	<font class=cc7>}</font>
	$first <font class=cc2>=</font> <font class=cc4>1</font><font class=cc2>;</font>
	<font class=cc5>while</font> <font class=cc2>(</font>list<font class=cc2>(</font>$item_id<font class=cc2>,</font> $item_name<font class=cc2>)</font> <font class=cc2>=</font> mysql_fetch_row<font class=cc2>(</font>$result<font class=cc2>))</font>
	<font class=cc7>{</font>
		<font class=cc5>if</font> <font class=cc2>(</font>$first <font class=cc2>==</font> <font class=cc4>1</font><font class=cc2>)</font>
		$first <font class=cc2>=</font> <font class=cc4>0</font><font class=cc2>;</font>
		else
		$items <font class=cc2>.=</font></font> <font class=cc6>","</font><font class=cc3><font class=cc2>;</font>
		$next_level <font class=cc2>=</font> create_level<font class=cc2>(</font>$item_id<font class=cc2>);</font>
		<font class=cc5>if</font> <font class=cc2>(</font>$next_level <font class=cc2>==</font></font> <font class=cc6>""</font><font class=cc3><font class=cc2>)</font>
		<font class=cc7>{</font>
			$items <font class=cc2>.=</font></font> <font class=cc6>'{"text":"'</font> <font class=cc3><font class=cc2>.</font> $item_name <font class=cc2>.</font></font> <font class=cc6>'"'</font><font class=cc3><font class=cc2>;</font>
			$items <font class=cc2>.=</font> $next_level<font class=cc2>;</font>
			$items <font class=cc2>.=</font></font> <font class=cc6>"} "</font><font class=cc3><font class=cc2>;</font>
		<font class=cc7>}</font>
		else
		<font class=cc7>{</font>
			$items <font class=cc2>.=</font></font> <font class=cc6>'{"text":"'</font> <font class=cc3><font class=cc2>.</font> $item_name <font class=cc2>.</font></font> <font class=cc6>'", '</font> <font class=cc3><font class=cc2>.</font> $style_item <font class=cc2>.</font></font> <font class=cc6>', '</font> <font class=cc2>.</font>
			<font class=cc6>'"menu":{ '</font> <font class=cc3><font class=cc2>.</font> $menu_style <font class=cc2>.</font></font> <font class=cc6>', '</font><font class=cc2>.</font>
			<font class=cc6>'"items":['</font><font class=cc3><font class=cc2>;</font>
			$items <font class=cc2>.=</font> $next_level<font class=cc2>;</font>
			$items <font class=cc2>.=</font></font> <font class=cc6>"]}}"</font><font class=cc3><font class=cc2>;</font>
		<font class=cc7>}</font>
	<font class=cc7>}</font>
	return <font class=cc2>(</font>$items<font class=cc2>);</font>
<font class=cc7>}</font>

<font class=cc5>function</font> create_definition<font class=cc2>()</font>
<font class=cc7>{</font>
	global $db<font class=cc2>;</font>
	$definition <font class=cc2>=</font></font> <font class=cc6>""</font><font class=cc3><font class=cc2>;</font>
	$StrQuery <font class=cc2>=</font></font> <font class=cc6>"select distinct css, size, bgcolor, color, bgimg, " <font class=cc2>.</font>
		" shadow, border, imgitem, imgdir, "</font> <font class=cc2>.</font>
		<font class=cc6>" imgendon, imgendoff, fixheight "</font> <font class=cc2>.</font>
		<font class=cc6>" from script_styles, script_items where " <font class=cc2>.</font>
		" script_styles.style_id = script_items.style_id "</font> <font class=cc2>.</font>
		<font class=cc6>" and script_items.item_parent_id=0 and script_items.script_id=4"</font><font class=cc3><font class=cc2>;</font>
	$result <font class=cc2>=</font> db_query<font class=cc2>(</font>$StrQuery<font class=cc2>);</font>
	$res_num <font class=cc2>=</font> db_numrows<font class=cc2>(</font>$result<font class=cc2>);</font>
	$Error <font class=cc2>=</font> mysql_error<font class=cc2>(</font>$db<font class=cc2>);</font>
	<font class=cc5>if</font> <font class=cc2>(</font>$Error <font class=cc2>!=</font></font> <font class=cc6>""</font><font class=cc2>)</font>
	<font class=cc7>{</font>
		echo <font class=cc6>"$Error"</font><font class=cc3><font class=cc2>;</font>
		exit<font class=cc2>();</font>
	<font class=cc7>}</font>
	<font class=cc5>if</font> <font class=cc2>(</font>$res_num <font class=cc2>!=</font> <font class=cc4>0</font><font class=cc2>)</font>
	<font class=cc7>{</font>
		$definition <font class=cc2>=</font> $definition <font class=cc2>.</font></font> <font class=cc6>'var BarDef = {"style"	: {"css" : "'</font> <font class=cc3><font class=cc2>.</font>
			db_result<font class=cc2>(</font>$result<font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font></font> <font class=cc6>"css"</font><font class=cc2>)</font> <font class=cc2>.</font> <font class=cc6>'", '</font> <font class=cc2>.</font>
			<font class=cc6>'"size":'</font> <font class=cc3><font class=cc2>.</font> db_result<font class=cc2>(</font>$result<font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font></font> <font class=cc6>"size"</font><font class=cc2>)</font> <font class=cc2>.</font> <font class=cc6>', '</font> <font class=cc2>.</font>
			<font class=cc6>'"bgcolor":"'</font> <font class=cc3><font class=cc2>.</font> db_result<font class=cc2>(</font>$result<font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font></font> <font class=cc6>"bgcolor"</font><font class=cc2>)</font> <font class=cc2>.</font> <font class=cc6>'", '</font> <font class=cc2>.</font>
			<font class=cc6>'"shadow":'</font> <font class=cc3><font class=cc2>.</font> db_result<font class=cc2>(</font>$result<font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font></font> <font class=cc6>"shadow"</font><font class=cc2>)</font> <font class=cc2>.</font> <font class=cc6>', '</font> <font class=cc2>.</font>
			<font class=cc6>'"border":'</font> <font class=cc3><font class=cc2>.</font> db_result<font class=cc2>(</font>$result<font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font></font> <font class=cc6>"border"</font><font class=cc2>)</font> <font class=cc2>.</font> <font class=cc6>', '</font> <font class=cc2>.</font>
			<font class=cc6>'"fixheight":'</font> <font class=cc3><font class=cc2>.</font> db_result<font class=cc2>(</font>$result<font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font></font> <font class=cc6>"fixheight"</font><font class=cc2>)</font> <font class=cc2>.</font> <font class=cc6>', '</font> <font class=cc2>.</font>
			<font class=cc6>'"imgendon":'</font> <font class=cc3><font class=cc2>.</font> db_result<font class=cc2>(</font>$result<font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font></font> <font class=cc6>"imgendon"</font><font class=cc2>)</font> <font class=cc2>.</font> <font class=cc6>', '</font> <font class=cc2>.</font>
			<font class=cc6>'"itemoffset":{ "x":5, "y":10 }, '</font> <font class=cc2>.</font>
			<font class=cc6>'"imgendoff":'</font> <font class=cc3><font class=cc2>.</font> db_result<font class=cc2>(</font>$result<font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font></font> <font class=cc6>"imgendoff"</font><font class=cc2>)</font> <font class=cc2>.</font> <font class=cc6>'}'</font><font class=cc3><font class=cc2>;</font>
	<font class=cc7>}</font>
	$StrQuery <font class=cc2>=</font></font> <font class=cc6>"select distinct css, bgcolor, color, bgimg, shadow, border, " <font class=cc2>.</font>
		" imgitem, imgdir, imgendon, imgendoff, bgimg "</font> <font class=cc2>.</font>
		<font class=cc6>" from script_styles, script_items where " <font class=cc2>.</font>
		" script_styles.style_id = script_items.style_over_id "</font> <font class=cc2>.</font>
		<font class=cc6>" and script_items.item_parent_id=0 and script_id=4"</font><font class=cc3><font class=cc2>;</font>
	$result <font class=cc2>=</font> db_query<font class=cc2>(</font>$StrQuery<font class=cc2>);</font>
	$res_num <font class=cc2>=</font> db_numrows<font class=cc2>(</font>$result<font class=cc2>);</font>
	$Error <font class=cc2>=</font> mysql_error<font class=cc2>(</font>$db<font class=cc2>);</font>
	<font class=cc5>if</font> <font class=cc2>(</font>$Error <font class=cc2>!=</font></font> <font class=cc6>""</font><font class=cc2>)</font>
	<font class=cc7>{</font>
		echo <font class=cc6>"$Error"</font><font class=cc3><font class=cc2>;</font>
		exit<font class=cc2>();</font>
	<font class=cc7>}</font>
	<font class=cc5>if</font> <font class=cc2>(</font>$res_num <font class=cc2>!=</font> <font class=cc4>0</font><font class=cc2>)</font>
	<font class=cc7>{</font>
		$definition <font class=cc2>=</font> $definition <font class=cc2>.</font></font> <font class=cc6>', "itemover": { "css" : "'</font> <font class=cc3><font class=cc2>.</font>
			db_result<font class=cc2>(</font>$result<font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font></font> <font class=cc6>'css'</font><font class=cc2>)</font> <font class=cc2>.</font> <font class=cc6>'", '</font> <font class=cc2>.</font>
			<font class=cc6>'"bgcolor":"'</font> <font class=cc3><font class=cc2>.</font> db_result<font class=cc2>(</font>$result<font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font></font> <font class=cc6>'bgcolor'</font><font class=cc2>)</font> <font class=cc2>.</font> <font class=cc6>'", '</font> <font class=cc2>.</font>
			<font class=cc6>'"bgimg":'</font> <font class=cc3><font class=cc2>.</font> db_result<font class=cc2>(</font>$result<font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font></font> <font class=cc6>'bgimg'</font><font class=cc2>)</font> <font class=cc2>.</font> <font class=cc6>', '</font> <font class=cc2>.</font>
			<font class=cc6>'"imgendon":'</font> <font class=cc3><font class=cc2>.</font> db_result<font class=cc2>(</font>$result<font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font></font> <font class=cc6>"imgendon"</font><font class=cc2>)</font> <font class=cc2>.</font> <font class=cc6>', '</font> <font class=cc2>.</font>
			<font class=cc6>'"imgendoff":'</font> <font class=cc3><font class=cc2>.</font> db_result<font class=cc2>(</font>$result<font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font></font> <font class=cc6>"imgendoff"</font><font class=cc2>)</font> <font class=cc2>.</font> <font class=cc6>', '</font> <font class=cc2>.</font>
			<font class=cc6>'"itemoffset":{ "x":5, "y":10 }'</font> <font class=cc2>.</font> <font class=cc6>'} '</font><font class=cc3><font class=cc2>;</font>
	<font class=cc7>}</font>
	$StrQuery <font class=cc2>=</font></font> <font class=cc6>"select distinct bgcolor, color "</font> <font class=cc2>.</font>
		<font class=cc6>" from script_styles, script_items where " <font class=cc2>.</font>
		" script_styles.style_id = script_items.style_on_id "</font> <font class=cc2>.</font>
		<font class=cc6>" and script_items.item_parent_id=0 and script_id=4"</font><font class=cc3><font class=cc2>;</font>
	$result <font class=cc2>=</font> db_query<font class=cc2>(</font>$StrQuery<font class=cc2>);</font>
	$res_num <font class=cc2>=</font> db_numrows<font class=cc2>(</font>$result<font class=cc2>);</font>
	$Error <font class=cc2>=</font> mysql_error<font class=cc2>(</font>$db<font class=cc2>);</font>
	<font class=cc5>if</font> <font class=cc2>(</font>$Error <font class=cc2>!=</font></font> <font class=cc6>""</font><font class=cc2>)</font>
	<font class=cc7>{</font>
		echo <font class=cc6>"$Error"</font><font class=cc3><font class=cc2>;</font>
		exit<font class=cc2>();</font>
	<font class=cc7>}</font>
	<font class=cc5>if</font> <font class=cc2>(</font>$res_num <font class=cc2>!=</font> <font class=cc4>0</font><font class=cc2>)</font>
	<font class=cc7>{</font>
		$definition <font class=cc2>=</font> $definition <font class=cc2>.</font></font> <font class=cc6>', "itemon": { "'</font> <font class=cc2>.</font>
			<font class=cc6>'bgcolor":"'</font> <font class=cc3><font class=cc2>.</font> db_result<font class=cc2>(</font>$result<font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font></font> <font class=cc6>'bgcolor'</font><font class=cc2>)</font> <font class=cc2>.</font> <font class=cc6>'", '</font> <font class=cc2>.</font>
			<font class=cc6>'"color":"'</font> <font class=cc3><font class=cc2>.</font> db_result<font class=cc2>(</font>$result<font class=cc2>,</font> <font class=cc4>0</font><font class=cc2>,</font></font> <font class=cc6>'color'</font><font class=cc2>)</font> <font class=cc2>.</font> <font class=cc6>'"} '</font><font class=cc3><font class=cc2>;</font>
	<font class=cc7>}</font>
	$definition <font class=cc2>=</font> $definition <font class=cc2>.</font></font> <font class=cc6>', "position": { "absolute": false, "pos":[30,20] } '</font><font class=cc3><font class=cc2>;</font>
	$items <font class=cc2>=</font></font> <font class=cc6>', "items" : [ '</font><font class=cc3><font class=cc2>;</font>
	$items <font class=cc2>=</font> $items <font class=cc2>.</font> create_level<font class=cc2>(</font><font class=cc4>0</font><font class=cc2>);</font>
	$items <font class=cc2>=</font> $items <font class=cc2>.</font></font> <font class=cc6>' ] '</font><font class=cc3><font class=cc2>;</font>
	$definition <font class=cc2>=</font> $definition <font class=cc2>.</font> $items <font class=cc2>.</font></font> <font class=cc6>" };"</font><font class=cc2>;</font>
	return $definition<font class=cc2>;</font>
<font class=cc7>}</font>
</pre>

<p class=cp10><b>And finally</b> we complete a web page for XPBar script:</p>

<pre class=cc1>
<font class=cc4>&lt;php</font>
<font class=cc3>echo</font> <font class=cc6>'&lt;HEAD&gt;&lt;link href="common_codethat.css" rel="stylesheet" type="text/css"&gt; '</font> <font class=cc2>.</font>
	<font class=cc6>'&lt;script language="javascript1.2" src="'</font> <font class=cc3><font class=cc2>.</font>
	site_url <font class=cc2>.</font></font> <font class=cc6>'codethatsdk.js"&gt;&lt;/script&gt; '</font> <font class=cc2>.</font>
	<font class=cc6>'&lt;script language="javascript1.2" src="'</font> <font class=cc3><font class=cc2>.</font>
	site_url <font class=cc2>.</font></font> <font class=cc6>'xpbar/codethatxpbarstd.js"&gt;&lt;/script&gt; '</font> <font class=cc2>.</font>
	<font class=cc6>'&lt;script language="javascript1.2"&gt; '</font> <font class=cc2>.</font>
	<font class=cc3><font class=cc2>.</font> create_definition<font class=cc2>()</font> <font class=cc2>.</font></font> <font class=cc6>'&lt;/script&gt; &lt;/head&gt;'</font><font class=cc2>;</font> 
<font class=cc4>?&gt;</font>

<font class=cc4>&lt;</font><font class=cc3>body bgcolor="#ffffff"</font><font class=cc4>&gt;

&lt;</font><font class=cc3>script language="javascript1.2"</font><font class=cc4>&gt;
&lt;!--</font>

<font class=cc3><font class=cc5>var</font> barTest1 <font class=cc2>=</font> <font class=cc5>new</font> CXPBar<font class=cc2>(</font>BarDef<font class=cc2>,</font></font> <font class=cc6>'barTest1'</font><font class=cc3><font class=cc2>);</font>
barTest1<font class=cc2>.</font>create<font class=cc2>();</font>
barTest1<font class=cc2>.</font>run<font class=cc2>();</font></font> 

//-->
<font class=cc4>&lt;</font><font class=cc5>/</font><font class=cc3>script</font><font class=cc4>&gt;
&lt;</font><font class=cc5>/</font><font class=cc3>body</font><font class=cc4>&gt;
&lt;</font><font class=cc5>/</font><font class=cc3>html</font><font class=cc4>&gt;</font>
</pre>

<h2 class=cp10><font class=cf4>Example - XPBar Generation from the Database</font></h2>

To see an example, you need to have PHP, Apache and MySQL installed. Then create an appropriate table, then copy db_ex.php to you root directory and set a correct path to CodeThat scripts.


<p class=cp10><a class=ca7 href="bar_beh.html">Read more about CodeThatXPBar&nbsp;&gt;&gt;</a></p>

</td>
</tr>
<tr>
<td><p class=cp8>&copy; <a class=ca2 href="">CodeThat.com</a>, 2003-2005<br>
Design by <a class=ca2 href="http://www.xt-labs.com">XTLabs, Inc</a>.</p></td>
</tr>
</table></body></html>